package com.jungle.mvvm.sample.api;


import com.jungle.mvvm.sample.bean.SameBean;
import com.jungle.mvvm.sample.bean.UserBean;

import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;

/**
 * @ClassName UserApi
 * @Description 用户接口
 * @Author Daniel
 * @Version V1.0.0
 */
public interface UserApi {

    /**
     * 登录接口
     *
     * @param username 用户名
     * @param password 密码
     * @return SameBean
     */
    @FormUrlEncoded
    @POST("user/login")
    Observable<SameBean<UserBean>> login(@Field("username") String username,
                                         @Field("password") String password);

    /**
     * 注册接口
     *
     * @param username   用户名
     * @param password   密码
     * @param repassword 确认密码
     * @return SameBean
     */
    @FormUrlEncoded
    @POST("user/register")
    Observable<SameBean<UserBean>> register(@Field("username") String username,
                                            @Field("password") String password,
                                            @Field("repassword") String repassword);

    /**
     * 退出登录
     *
     * @return SameBean
     */
    @GET("user/logout/json")
    Observable<SameBean<UserBean>> logout();
}
